// ECMAScript标准提供的内置对象有：
// Boolean、Error、Date、RegExp等。
// 我们可以是 TypeScript中将变量定义为这些类型：
let a: Boolean = new Boolean(1);
let b: Error = new Error('new Error');
let c: Date = new Date();
let d: RegExp = new RegExp(/[a-z]/);

// DOM 和 BOM提供的内置对象有：Document、HTMLElement、Event、NodeList等。
// TypeScript中会经常用到这些类型：
let body: HTMLElement = document.body;
let allDiv: NodeList = document.querySelectorAll('div');
document.addEventListener('click', (e: MouseEvent) => {});

// 因为e被推断成了MouseEvent，而MouseEvent是没有targetCurrent属性的，所以报错了。
document.addEventListener('click', function (e) {
    console.log(e.targetCurrent); // 类型“MouseEvent”上不存在属性“targetCurrent”。
});
//   npm install @types/node --save-dev
